
package rpc;

import java.util.*;
import java.text.*;
import java.io.*; 
import java.net.*;

public class RpcServer {
    
	static private ServerSocket servidor; 
	static private Socket conexion; 
	static private int contador = 1; 
        
        static Thread MultiClient[] = new Thread[10];
        
        //static 
  
	public static void main(String []args){
		iniciarServidor();
	}
  
	/*creacion del socket de comunicacion*/
	static public void iniciarServidor(){ 
		try{ 
			servidor = new ServerSocket( 12345, 100 ); 
			while(true){ 
				try{
					esperarConexion();
                                        for(int i=0;i<9;i++){
                                            if(MultiClient[i]==null){
                                                MultiClient[i] =  new Thread(new ClientThead(conexion));
                                                MultiClient[i].start();   
                                                break;
                                            }
                                        }
                                        
				}catch(EOFException excepcionEOF){ 
					System.out.println("comunicaion terminada");
				}finally{ 
					//cerrarConexion(); 
					++contador; 
				} 
			}	     
		}catch(IOException excepcionES){
		}    
	}
  
   /*Esperar nuevas comunicaciones*/
	static private void esperarConexion() throws IOException{ 
		System.out.println("Esperando clientes"); 
		conexion = servidor.accept();
		System.out.println("Conexion "+contador+" con: "+conexion.getInetAddress().getHostName()); 
	}
    
}
